home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Everything For A Hacker
/
19990506-[HACK].iso
/
HEXEDIT
/
ASM_DOC.ZIP
/
TD.DOC
/
CHAP9.TXT
< prev
next >
Wrap
Text File
|
1990-11-20
|
37KB
|
834 lines
âïÇéÇ 9 é¢ÉÇåàìêƒ
éδαáªÑ¡¿∩ ¼«úπΓ ß«ñÑαªáΓ∞ «í«º¡áτÑ¡¿∩, »α¿¡∩ΓδÑ ó »α«úαá¼¼Ñ
(Γ« ÑßΓ∞ ¿¼Ñ¡á »ÑαѼѡ¡δσ ¿ »«ñ»α«úαá¼¼), á Γá¬ªÑ ¬«¡ßΓá¡Γδ ¿
º¡á¬¿ «»Ñαᵿ⌐, ñ«»πßΓ¿¼δÑ ó «ñ¡«¼ ¿º »«ññÑনóáѼδσ «Γ½áñτ¿¬«¼
∩ºδ¬«ó (æ¿, Åá߬á½Ñ ¿ áßßѼí½ÑαÑ).
Turbo Debugger ¼«ªÑΓ óδτ¿ß½∩Γ∞ º¡áτÑ¡¿∩ óδαáªÑ¡¿⌐ ¿ ß««íΘáΓ∞
»α«úαá¼¼¿ßΓπ αѺπ½∞ΓáΓ. éδαáªÑ¡¿∩ ¼«ª¡« Γá¬ªÑ ¿ß»«½∞º«óáΓ∞ ñ½∩
«íαáΘÑ¡¿∩ ¬ «»αÑñѽѡ¡«⌐ «í½áßΓ¿ »á¼∩Γ¿, ß«ñÑন¼«Ñ ¬«Γ«α«⌐
¡Ñ«íσ«ñ¿¼« »α«óÑα¿Γ∞. éδαáªÑ¡¿Ñ ¼«ªÑΓ íδΓ∞ óóÑñÑ¡« ó «ΓóÑΓ ¡á
½εí«⌐ ºá»α«ß «Γ½áñτ¿¬á, ó ¬«Γ«α«¼ ΓαÑíπÑΓß∩ º¡áτÑ¡¿Ñ ¿½¿ áñαÑß
∩τÑ⌐¬¿ »á¼∩Γ¿. (çá¼ÑΓ¿¼, τΓ« ó ¬áªñ«¼ ∩ºδ¬Ñ ¿ß»«½∞ºπεΓß∩ ßó«¿
»αáó¿½á óδτ¿ß½Ñ¡¿∩ óδαáªÑ¡¿⌐.)
ä½∩ óδτ¿ß½Ñ¡¿∩ º¡áτÑ¡¿∩ óóÑñÑ¡¡«ú« óδαáªÑ¡¿∩ ¿ß»«½∞ºπÑΓß∩
¬«¼á¡ñá Data/Evaluate/Modify, «Γ¬αδóáεΘá∩ í½«¬ ñ¿á½«úá
Evaluate/Modify. ¥Γ𠬫¼á¡ñπ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ¬á¬ ó ¬áτÑßΓóÑ
»α«ßΓ«ú« ¬á½∞¬π½∩Γ«αá, Γᬠ¿ ñ½∩ »α«óÑન º¡áτÑ¡¿⌐ φ½Ñ¼Ñ¡Γ«ó
ñá¡¡δσ «Γ½áª¿óáѼ«⌐ »α«úαá¼¼δ.
é φΓ«⌐ ú½áóÑ «»¿ßδóáÑΓß∩, ¬á¬ Turbo Debugger óδí¿αáÑΓ ∩ºδ¬
»α«úαá¼¼¿α«óá¡¿∩ ñ½∩ óδτ¿ß½Ñ¡¿∩ º¡áτÑ¡¿⌐ óδαáªÑ¡¿⌐, ¿ ¬á¬ ¼«ª¡«
ºáßΓáó¿Γ∞ Ñú« ¿ß»«½∞º«óáΓ∞ ¬«¡¬αÑΓ¡δ⌐ ∩ºδ¬. Ä»¿ßδóáεΓß∩
¬«¼»«¡Ñ¡Γδ óδαáªÑ¡¿⌐, ¬«Γ«αδÑ ∩ó½∩εΓß∩ «íΘ¿¼¿ ñ½∩ óßÑσ ∩ºδ¬«ó,
Γá¬¿Ñ ¬á¬ ¡«¼Ñαá ßΓ᫬ ¿ßσ«ñ¡«ú« ΓѬßΓá ¿ «íαáΘÑ¡¿∩ ¬ αÑú¿ßΓαá¼
»α«µÑßß«αá. çáΓѼ «»¿ßδóáεΓß∩ ¬«¼»«¡Ñ¡Γδ, ¿º ¬«Γ«αδσ ßΓα«∩Γß∩
óδαáªÑ¡¿∩ ó ¬áªñ«¼ ¿º ∩ºδ¬«ó, Γá¬¿Ñ ¬á¬ ¬«¡ßΓá¡Γδ, »ÑαѼѡ¡δÑ
»α«úαá¼¼δ, ßΓ᫬¿ ¿ º¡á¬¿ «»Ñαᵿ⌐. ä½∩ ¬áªñ«ú« ∩ºδ¬á »α¿ó«ñ¿Γß∩
»ÑαÑτÑ¡∞ «»Ñαᵿ⌐, »«ññÑনóáѼδσ «Γ½áñτ¿¬«¼ Turbo Debugger, ¿
«»¿ßδóáÑΓß∩ ß¿¡Γá¬ß¿ß óδαáªÑ¡¿⌐.
ä½∩ »«½πτÑ¡¿∩ í«½ÑÑ »«ñα«í¡«⌐ ¿¡Σ«α¼áµ¿¿ « »αáó¿½áσ
»«ßΓα«Ñ¡¿∩ óδαáªÑ¡¿⌐ ó ∩ºδ¬áσ æ¿, Åá߬á½∞ ¿ áßßѼí½Ñα «íαáΓ¿ΓÑß∞
¬ ß««ΓóÑΓßΓóπεΘÑ⌐ ñ«¬π¼Ñ¡Γᵿ¿: Éπ¬«ó«ñßΓóπ »«½∞º«óáΓѽ∩ ¿
æ»αáó«τ¡«¼π απ¬«ó«ñßΓóπ »« ¬«¼»¿½∩Γ«απ Turbo C (Turbo C Compiler
User's Guide ¿ Reference Guide), Éπ¬«ó«ñßΓóπ »«½∞º«óáΓѽ∩ ¿
æ»αáó«τ¡«¼π απ¬«ó«ñßΓóπ »« ∩ºδ¬π Turbo Pascal (Turbo Pascal
User's Guide ¿ Reference Guide) ¿½¿ æ»αáó«τ¡«¼π απ¬«ó«ñßΓóπ »«
∩ºδ¬π Turbo Assembler (Turbo Assembler Reference Guide).
éδí«α ∩ºδ¬á ñ½∩ óδτ¿ß½Ñ¡¿∩ óδαáªÑ¡¿⌐
------------------------------------
Äíδτ¡« Turbo Debugger «»αÑñѽ∩ÑΓ, ¬á¬«⌐ ∩ºδ¬ ¿ß»«½∞º«óáΓ∞
ñ½∩ óδτ¿ß½Ñ¡¿∩ óδαáªÑ¡¿⌐, á¡á½¿º¿απ∩ αáßΦ¿αÑ¡¿Ñ ¿¼Ñ¡¿ ¿ßσ«ñ¡«ú«
Σá⌐½á ΓѬπΘÑú« ¼«ñπ½∩, Γ« ÑßΓ∞ ¼«ñπ½∩, ¡á ¬«Γ«α«¼ í佫
«ßΓá¡«ó½Ñ¡« óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ. ¥Γ« «»αÑñѽѡ¿Ñ ¼«ª¡« «Γ¼Ñ¡¿Γ∞
ß »«¼«Θ∞ε ¬«¼á¡ñδ Options/Language, ¬«Γ«αá∩ »«ºó«½∩ÑΓ óδíαáΓ∞
«ñ¿¡ ¿º ΓαÑσ ∩ºδ¬«ó: æ¿, Åá߬á½∞ ¿½¿ áßßѼí½Ñα. àß½¿ óδíαá¡á
«»µ¿∩ Source, óδαáªÑ¡¿∩ íπñπΓ óδτ¿ß½∩Γ∞ß∩ ó ß««ΓóÑΓßΓó¿¿ ß
»αáó¿½á¼¿ ∩ºδ¬á ¿ßσ«ñ¡«ú« Σá⌐½á. (àß½¿ Turbo Debugger ¡Ñ ¼«ªÑΓ
«»αÑñѽ¿Γ∞, ¡á ¬á¬«¼ ∩ºδ¬Ñ ¡á»¿ßá¡á »α«úαá¼¼á, «¡ ¿ß»«½∞ºπÑΓ ñ½∩
óδτ¿ß½Ñ¡¿∩ óδαáªÑ¡¿⌐ »αáó¿½á ∩ºδ¬á æ¿.
Äíδτ¡« Turbo Debugger ßá¼ »αáó¿½∞¡« «»αÑñѽ∩ÑΓ, ¬á¬«⌐ ∩ºδ¬
¡áñ« ¿ß»«½∞º«óáΓ∞. Äñ¡á¬« ó ¡Ñ¬«Γ«αδσ ß½πτá∩σ ¼«ªÑΓ «¬áºáΓ∞ß∩
»«½Ñº¡δ¼ Γ«τ¡« π¬áºáΓ∞ «Γ½áñτ¿¬π, ¬á¬«⌐ ∩ºδ¬ ¿ß»«½∞º«óáΓ∞,
¡á»α¿¼Ñα, »α¿ «Γ½áñ¬Ñ áßßѼí½Ñα¡«ú« ¼«ñπ½∩, ¬«Γ«αδ⌐ óδºδóáÑΓß∩ ¿º
»α«úαá¼¼δ, ¡á»¿ßá¡¡«⌐ ¡á ñαπú«¼ ∩ºδ¬Ñ. Æ«τ¡« π¬áºáó ∩ºδ¬, ¬«Γ«αδ⌐
ñ«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ óδτ¿ß½Ñ¡¿∩ óδαáªÑ¡¿⌐, ¼«ª¡« «íαáΘáΓ∞ß∩
¬ ñá¡¡δ¼ Γá¬, ¬á¬ φΓ« »α¿¡∩Γ« ó ñá¡¡«¼ ∩ºδ¬Ñ, ñáªÑ Ñß½¿ ΓѬπΘ¿⌐
¼«ñπ½∞ ¡á»¿ßá¡ ¡á ñαπú«¼ ∩ºδ¬Ñ.
ê¡«úñá íδóáÑΓ αáßß¼áΓα¿óáΓ∞ óδαáªÑ¡¿∩ ¿½¿ »ÑαѼѡ¡δÑ, ¬á¬
Ñß½¿ íδ «¡¿ í뫨 ¡á»¿ßá¡δ ¡á ñαπú«¼ ∩ºδ¬Ñ; ¡á»α¿¼Ñα, Ñß½¿ óδ
«Γ½áª¿óáÑΓÑ Åá߬á½∞-»α«úαá¼¼π, ß«ú½áΦÑ¡¿∩ ∩ºδ¬á áßßѼí½Ñαá ¿½¿ æ¿
¼«úπΓ ñáóáΓ∞ í«½ÑÑ »α«ßΓ«⌐ ß»«ß«í ¿º¼Ñ¡Ñ¡¿∩ º¡áτÑ¡¿∩ íá⌐Γá,
σαá¡¿¼«ú« ó ßΓ᫬Ñ.
àß½¿ »α¿ óσ«ñÑ ó Turbo Debugger óδí«α ∩ºδ¬á íδ½ ßñѽá¡
»αáó¿½∞¡«, ñá½ÑÑ Γαπñ¡«ßΓÑ⌐ ß ¿ß»«½∞º«ó᡿Ѽ ß«ú½áΦÑ¡¿⌐ ñαπú¿σ
∩ºδ¬«ó π óáß ¡Ñ íπñÑΓ. Turbo Debugger σαá¡¿Γ ¿¡Σδ«α¼áµ¿ε «
»Ñαó«¡áτá½∞¡« óδíαá¡¡«¼ ∩ºδ¬Ñ ¿ßσ«ñ¡«ú« ¬«ñá ¿ ß««ΓóÑΓßΓóÑ¡¡«
αáí«ΓáÑΓ ß »αÑ«íαẫóá¡¿∩¼¿ ¿ σαá¡Ñ¡¿Ñ¼ ñá¡¡δσ. àß½¿ ªÑ
«Γ¡«ß¿Γѽ∞¡« ∩ºδ¬á 󫺡¿¬áÑΓ ¡Ñ«ñ¡«º¡áτ¡«ßΓ∞, Turbo Debugger »«
π¼«½τá¡¿ε »α¿¡¿¼áÑΓ ∩ºδ¬ áßßѼí½Ñαá.
äáªÑ Ñß½¿ »α¿ óσ«ñÑ ó Turbo Debugger ¡á¼ÑαÑ¡¡« óδíαáΓ∞
¡Ñ»αáó¿½∞¡δ⌐ ∩ºδ¬, à é ß»«ß«íÑ¡ ßἫßΓ«∩Γѽ∞¡« »«½πτ¿Γ∞
¿¡Σ«α¼áµ¿ε « ∩ºδ¬Ñ ¿º Γáí½¿µδ ß¿¼ó«½¿τÑ߬¿σ ¿¼Ñ¡ ¿ ¿ßσ«ñ¡«ú«
Σá⌐½á. Äñ¡á¬«, »α¿ ¡Ñ¬«Γ«αδσ «íßΓ«∩Γѽ∞ßΓóáσ Turbo Debugger ¼«ªÑΓ
¿¼ÑΓ∞ »α«í½Ñ¼δ, ßó∩ºá¡¡δÑ ß ¡ÑóÑα¡δ¼ ß»«ß«í«¼ σαá¡Ñ¡¿∩ ñá¡¡δσ
óß½ÑñßΓó¿Ñ ¡Ñ«ñ¡«º¡áτ¡«ßΓ¿ «»αÑñѽѡ¿∩ ∩ºδ¬á.
ÇñαÑßá ¬«ñá, áñαÑßá ñá¡¡δσ ¿ ¡«¼Ñαá ßΓ᫬
-----------------------------------------------------------------
Äíδτ¡«, Ñß½¿ ó »α«úαá¼¼Ñ ΓαÑíπÑΓß∩ «íαáΓ¿Γ∞ß∩ ¬ ¡Ñ¬«Γ«α«⌐
»ÑαѼѡ¡«⌐ ¿½¿ Σπ¬¡µ¿¿, Γ« »α«ßΓ« π¬áºδóáÑΓß∩ ÑÑ ¿¼∩. Äñ¡á¬«
¼«ª¡« ¿ ºá»¿ßáΓ∞ óδαáªÑ¡¿Ñ, ó ¬«Γ«α«¼ óδτ¿ß½∩ÑΓß∩ π¬áºáΓѽ∞ ¡á
«í½áßΓ∞ »á¼∩Γ¿, ¿½¿ ºáñáΓ∞ áñαÑßá ¬«ñá ó ó¿ñÑ ¡«¼Ñα«ó ßΓ᫬
¿ßσ«ñ¡«ú« ΓѬßΓá, »«¼ÑßΓ¿ó »ÑαÑñ ¡«¼Ñα«¼ ßΓ᫬¿ º¡á¬ #, ¡á»α¿¼Ñα
#123. é ß½ÑñπεΘѼ αáºñÑ½Ñ «»¿ßá¡«, ¬á¬ «íαáΘáΓ∞ß∩ ¬
¿ñÑ¡Γ¿Σ¿¬áΓ«αá¼, ó¡Ñ ΓѬπΘÑ⌐ «í½áßΓ¿ ñÑ⌐ßΓó¿∩.
Éáºπ¼ÑÑΓß∩, óδ ¼«ªÑΓÑ ºáñáΓ∞ ¡Ñ»«ßαÑñßΓóÑ¡¡« áñαÑß ó Σ«α¼áΓÑ
ßÑú¼Ñ¡Γ:ß¼ÑΘÑ¡¿Ñ ó ΦÑßΓ¡áñµáΓ¿α¿τ¡«⌐ ºá»¿ß¿ ñ½∩ ¿ßσ«ñ¡«ú« ¬«ñá
óáΦÑ⌐ »α«úαá¼¼δ:
-----------------------------------------
ƒºδ¬ ö«α¼áΓ Åα¿¼Ñα
-----------------------------------------
æ¿ 0xnnnn 0x1234:0x0010
Åá߬á½∞ $nnnn $1234:$0010
ÇßßѼí½Ñα nnnnh 1234h:0B234h
é áßßѼí½ÑαÑ ΦÑßΓ¡áñµáΓ¿α¿τ¡δÑ τ¿ß½á,
¡áτ¿¡áεΘ¿Ñß∩ ß µ¿Σα «Γ A ñ« E, ñ«½ª¡δ ¿¼ÑΓ∞
óÑñπΦ¿⌐ ¡«½∞.
-----------------------------------------
ä«ßΓπ» ¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá¼ ó¡Ñ ΓѬπΘÑ⌐ «í½áßΓ¿ ñÑ⌐ßΓó¿∩
-----------------------------------------------------------------
ùáßΓ∞ »α«úαá¼¼δ, ó ¬«Γ«α«⌐ «Γ½áñτ¿¬ ¿ΘÑΓ ¿ñÑ¡Γ¿Σ¿¬áΓ«α,
¡áºδóáÑΓß∩ «í½áßΓ∞ε ñÑ⌐ßΓó¿∩ (ñ¿á»áº«¡«¼ ñ«ßΓπ»¡«ßΓ¿) ñá¡¡«ú«
¿ñÑ¡Γ¿Σ¿¬áΓ«αá. ä«ßΓπ» ¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá¼ ºá »αÑñѽἿ ΓѬπΘÑ⌐
«í½áßΓ¿ ñÑ⌐ßΓó¿∩ ∩ó½∩ÑΓß∩ ñ«ßΓáΓ«τ¡« ß½«ª¡δ¼ ó«»α«ß«¼, »«¡¿¼á¡¿∩
¬«Γ«α«ú« ó í«½∞Φ¿¡ßΓóÑ ß½πτáÑó «Γ »«½∞º«óáΓѽ∩ ¡Ñ ΓαÑíπÑΓß∩.
èᬠ»αá󿽫, Turbo Debugger ¿ΘÑΓ ¿ñÑ¡Γ¿Σ¿¬áΓ«α, ¿ß»«½∞ºπѼδ⌐
ó óδαáªÑ¡¿¿ Γ«τ¡« ΓᬠªÑ, ¬á¬ φΓ« ñѽáÑΓ ¬«¼»¿½∩Γ«α. ìá»α¿¼Ñα,
¬«¼»¿½∩Γ«α ∩ºδ¬á æ¿ ß¡áτá½á ¿ΘÑΓ ó ΓѬπΘÑ⌐ Σπ¡¬µ¿¿, ºáΓѼ ó
ΓѬπΘѼ ¼«ñπ½Ñ ßΓáΓ¿τÑ߬¿⌐ (½«¬á½∞¡δ⌐) ¿ñÑ¡Γ¿Σ¿¬áΓ«α, á ºáΓѼ
ú½«íá½∞¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α. 諼»¿½∩Γ«α ∩ºδ¬á Åá߬á½∞ ß¡áτá½á ¿ΘÑΓ ó
ΓѬπΘÑ⌐ »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿, ºáΓѼ ó óδºóáóΦÑ⌐ ÑÑ »«ñ»α«úαá¼¼Ñ
(Ñß½¿ ΓѬπΘá∩ «í½áßΓ∞ ñÑ⌐ßΓó¿∩ ∩ó½∩ÑΓß∩ 󽫪ѡ¡«⌐), ºáΓѼ ó
αáºñÑ½Ñ αÑ὿ºáµ¿¿ ΓѬπΘÑú« ¼«ñπ½∩ (Ñß½¿ ΓѬπΘá∩ «í½áßΓ∞ ñÑ⌐ßΓó¿∩
¡áσ«ñ¿Γß∩ ó ¼«ñπ½Ñ), á ºáΓѼ ¿ΘÑΓß∩ ú½«íá½∞¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α.
àß½¿, »α¿¼Ñ¡¿ó π¬áºá¡¡πε ¼ÑΓ«ñ¿¬π »«¿ß¬á, Turbo Debugger ¡Ñ
¡áΦѽ ¿ñÑ¡Γ¿Σ¿¬áΓ«α, «¡ »α«ñ«½ªáÑΓ »«¿ß¬ ó ñαπú¿σ ¼«ñπ½∩σ, »«¬á
¡Ñ ¡áσ«ñ¿Γ ½«¬á½∞¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α, ß««ΓóÑΓßΓóπεΘ¿⌐ ¿ß¬«¼«¼π. ¥Γ«
»«ºó«½∩ÑΓ «íαáΘáΓ∞ß∩ ¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá¼, ¡áσ«ñ∩Θ¿¼ß∩ ó ñαπú¿σ
¼«ñπ½∩σ, ¡Ñ π¬áºδóá∩ Γ«τ¡«Ñ ¿¼∩ ¼«ñπ½∩.
àß½¿ ¡Ñ«íσ«ñ¿¼« ºáßΓáó¿Γ∞ Turbo Debugger ¿ß¬áΓ∞
¿ñÑ¡Γ¿Σ¿¬áΓ«α ó ¬á¬«¼-Γ« ñαπú«¼ ¼ÑßΓÑ, ¼«ª¡« π¬áºáΓ∞ ¿¼∩ ¼«ñπ½∩,
¿¼∩ Σá⌐½á ó¡πΓα¿ ¼«ñπ½∩ ¿/¿½¿ ¿¼∩ »«ñ»α«úαá¼¼δ. Æᬿ¼ «íαẫ¼
¼«ª¡« «íαáΘáΓ∞ß∩ ¬ ½εí«¼π ¿ñÑ¡Γ¿Σ¿¬áΓ«απ »α«úαá¼¼δ, ¬«Γ«αδ⌐ ¿¼ÑÑΓ
«»αÑñѽѡ¡«Ñ º¡áτÑ¡¿Ñ, ñáªÑ ¬ ½«¬á½∞¡δ¼ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá¼ »α«µÑñπα
¿ Σπ¡¬µ¿⌐, ¿ñÑ¡Γ¿τ¡δ¼ ñαπú¿¼ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá¼.
çá¼Ñ¡á «í½áßΓ¿ ñÑ⌐ßΓó¿∩
ìѺáó¿ß¿¼« «Γ Γ«ú«, ¡á ¬á¬«¼ ∩ºδ¬Ñ ¡á»¿ßá¡á «Γ½áª¿óáѼá∩
»α«úαá¼¼á, ñ½∩ ºá¼Ñ¡δ «í½áßΓ¿ ñÑ⌐ßΓó¿∩ ¿ß»«½∞ºπÑΓß∩ «ñ¿¡ ¿ ëà ªÑ
ᯮᮡ.
Äíδτ¡« ñ½∩ αáºñѽѡ¿∩ ¬«¼»«¡Ñ¡Γ«ó «í½áßΓ¿ ñÑ⌐ßΓó¿∩
¿ß»«½∞ºπÑΓß∩ º¡á¬ ¡«¼Ñαá (#). èα«¼Ñ Γ«ú«, Ñß½¿ ó ñá¡¡«¼ ∩ºδ¬Ñ
Γ«τ¬á (.) ¡Ñ ¿¼ÑÑΓ ñαπú«ú« ¡áº¡áτÑ¡¿∩, «¡á ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩
ó¼ÑßΓ« º¡á¬á ¡«¼Ñαá.
ä½∩ ºá¼Ñ¡δ «í½áßΓ¿ ñÑ⌐ßΓó¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ºá»¿ßδóáÑΓß∩ ó
ß½ÑñπεΘѼ Σ«α¼áΓÑ:
[#¼«ñπ½∞[#¿¼∩ Σá⌐½á]]#¡«¼Ñα ßΓ᫬¿[#¿¼∩ »ÑαѼѡ¡«⌐]
¿½¿
[#¼«ñπ½∞[#¿¼∩ Σá⌐½á]][#¿¼∩ Σπ¡¬µ¿¿]#¿¼∩ »ÑαѼѡ¡«⌐
àß½¿ ¡Ñ π¬áºá¡« ¿¼∩ ¼«ñπ½∩, »«¿ß¬ »α«¿ºó«ñ¿Γß∩ ó ΓѬπΘѼ
¼«ñπ½Ñ. ì¿ªÑ »α¿óÑñÑ¡ α∩ñ »α¿¼Ñα«ó ¡á»¿ßá¡¿∩ óδαáªÑ¡¿⌐ ß ºá¼Ñ¡«⌐
«í½áßΓ¿ ñÑ⌐ßΓó¿∩. èáªñδ⌐ »α¿¼Ñα ß««ΓóÑΓßΓóπÑΓ «ñ¡«⌐ ñ«»πßΓ¿¼«⌐
¬«¼í¿¡áµ¿¿ φ½Ñ¼Ñ¡Γ«ó, ¬«Γ«απε ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ñ½∩ ºá¼Ñ¡δ
«í½áßΓ¿ ñÑ⌐ßΓó¿∩.
ÅÑαóδÑ ΦÑßΓ∞ »α¿¼Ñα«ó ñѼ«¡ßΓα¿απεΓ αẽ¿τ¡δÑ ß»«ß«íδ
¿ß»«½∞º«óá¡¿∩ ¡«¼Ñα«ó ßΓ᫬ ñ½∩ úÑ¡Ñα¿α«óá¡¿∩ áñαÑß«ó ¿ ºá¼Ñ¡δ
«í½áßΓ¿ ñÑ⌐ßΓó¿∩
#123 æΓ᫬á 123 ΓѬπΘÑú« ¼«ñπ½∩.
#123#myvar1 êñÑ¡Γ¿Σ¿¬áΓ«α myvar1,
¡áσ«ñ∩Θ¿⌐ß∩ ó ßΓα«¬Ñ 123
ΓѬπΘÑú« ¼«ñπ½∩.
#mymodule#123 æΓ᫬á 123 ¼«ñπ½∩ mymodule.
#mymodule#123#myvar1 êñÑ¡Γ¿Σ¿¬áΓ«α myvar1,
¡áσ«ñ∩Θ¿⌐ß∩ ó ßΓα«¬Ñ 123
¼«ñπ½∩ mymodule.
#mymodule#file1#123 æΓ᫬á 123 ¿ßσ«ñ¡«ú« Σá⌐½á
file1, ¬«Γ«αδ⌐ ∩ó½∩ÑΓß∩ τáßΓ∞ε
¼«ñπ½∩ mymodule.
#mymodule#file1#123#myvar1 êñÑ¡Γ¿Σ¿¬áΓ«α myvar1,
¡áσ«ñ∩Θ¿⌐ß∩ ó ßΓ«¬Ñ 123
¿ßσ«ñ¡«ú« Σá⌐½á file1, ¬«Γ«αδ⌐
∩ó½∩ÑΓß∩ τáßΓ∞ε ¼«ñπ½∩
mymodule.
é ß½ÑñπεΘ¿σ ΦÑßΓ¿ »α¿¼Ñαáσ »«¬áºá¡δ αẽ¿τ¡δÑ ß»«ß«íδ ºá¼Ñ¡δ
«í½áßΓ¿ ñÑ⌐ßΓó¿∩ »ÑαѼѡ¡«⌐ ß ¿ß»«½∞º«ó᡿Ѽ ¿¼Ñ¡ ¼«ñπ½∩, Σá⌐½á ¿
Σπ¡¬µ¿¿.
#myvar2 Æ« ªÑ, τΓ« ¿ myvar2 íѺ #.
#myfunc#myvar ÅÑαѼѡ¡á∩ myvar2 »«ñ»α«úαá¼¼δ
myfunc.
#mymodule#myvar2 ÅÑαѼѡ¡á∩ myvar2 ¼«ñπ½∩
mymodule.
#mymodule#myfunc#myvar2 ÅÑαѼѡ¡á∩ myvar2 »«ñ»α«úαá¼¼δ
myfunc ¼«ñπ½∩ mymodule.
#mymodule#file2#myvar2 ÅÑαѼѡ¡á∩ myvar2 ¿º Σá⌐½á
file2, ó¬½ετÑ¡¡«ú« ó ¼«ñπ½∞
mymodule.
#mymodule#file2#myfunc#myvar2 ÅÑαѼѡ¡á∩ myvar2 Σπ¡¬µ¿¿
myfunc, «»αÑñѽѡ¡«⌐ ó Σá⌐½Ñ
file2, «»¿ßá¡¡«¼ ó ¼«ñπ½Ñ
mymodule.
ê ¡á¬«¡Ñµ, Turbo Debugger »«ºó«½∩ÑΓ ºá¼Ñ¡π «í½áßΓ¿ ñÑ⌐ßΓó¿∩
»α¿ ¿ß»«½∞º«óá¡¿¿ ¿¼Ñ¡ «íΩѬΓá, ¬½áßßá, »αáó¿½á ¿ ¬«¼»«¡Ñ¡Γ¡«⌐
Σπ¡¬µ¿¿. é«Γ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó:
AnInstance éσ«ªñÑ¡¿Ñ AnInstance, ñ«ßΓπ»¡«Ñ
ó ΓѬπΘÑ⌐ «í½áßΓ¿ ñÑ⌐ßΓó¿∩.
AnInstance.AField Å«½Ñ AField, ñ«ßΓπ»¡«Ñ τÑαѺ
óσ«ªñÑ¡¿Ñ AnInstance, ñ«ßΓπ»¡«Ñ
ó ΓѬπΘÑ⌐ «í½áßΓ¿ ñÑ⌐ßΓó¿∩.
AnObjectType.AMethod Åαá󿽫 AMethod, ñ«ßΓπ»¡«Ñ
τÑαѺ «íΩÑ¬Γ Γ¿»á AnObjectType,
ñ«ßΓπ»¡δ⌐ ó ΓѬπΘÑ⌐ «í½áßΓ¿
ñÑ⌐ßΓó¿∩.
AnInstance.AMethod Åαá󿽫 AMethod, ñ«ßΓπ»¡«Ñ
τÑαѺ óσ«ªñÑ¡¿Ñ AnInstance,
ñ«ßΓπ»¡«Ñ ó ΓѬπΘÑ⌐ «í½áßΓ¿
ñÑ⌐ßΓó¿∩
AUnit.AnInstance.AField Å«½Ñ AField, ñ«ßΓπ»¡«Ñ τÑαѺ
óσ«ªñÑ¡¿Ñ AnInstance, ñ«ßΓπ»¡«Ñ
τÑαѺ ¼«ñπ½∞ AUnit.
AUnit.AnObjectType.AMethod Åαá󿽫 AMethod, ñ«ßΓπ»¡«Ñ
τÑαѺ «íΩÑ¬Γ Γ¿»á AnObjectType,
ñ«ßΓπ»¡δ⌐ τÑαѺ ¼«ñπ½∞ AUnit.
AUnit.AnObjectType.AMethod. 﫬á½∞¡á∩ »ÑαѼѡ¡á∩ AVar,
ANestedProc.AVar ñ«ßΓπ»¡á∩ τÑαѺ »α«µÑñπαπ
ANestedProc, ñ«ßΓπ»¡πε τÑαѺ
»αá󿽫 AMethod, ñ«ßΓπ»¡«Ñ
τÑαѺ Γ¿» «íΩѬΓá AnObjectType,
ñ«ßΓπ»¡δ⌐ τÑαѺ ¼«ñπ½∞ AUnit.
Æá¬¿Ñ óδαáªÑ¡¿∩ ß ¬óá½¿Σ¿µ¿α«óá¡¡δ¼¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«αἿ ¼«ª¡«
¿ß»«½∞º«óáΓ∞ óѺñÑ, úñÑ ó«º¼«ª¡« ¿ß»«½∞º«óá¡¿Ñ óδαáªÑ¡¿∩, ó¬½ετá∩
í½«¬ ñ¿á½«úá Evaluate/Modify ¿ «¬¡« Watches, ½¿í« »α¿ ¿º¼Ñ¡Ñ¡¿¿
óδαáªÑ¡¿∩ ó «¬¡Ñ Inspector, ½¿í« »α¿ ¿ß»«½∞º«óá¡¿¿ ½«¬á½∞¡«ú«
¼Ñ¡ε ó «¬¡Ñ Module ñ½∩ »ÑαÑσ«ñá (Goto) ¬ »αáó¿½π, ¬«¼»«¡Ñ¡Γ¡«⌐
Σπ¡¬µ¿¿ ¿½¿ »α«µÑñπαÑ ó ¿ßσ«ñ¡«¼ ¬«ñÑ.
àß½¿ óδ »α¿ «Γ½áñ¬Ñ »α«úαá¼¼δ ¡á æ++ ªÑ½áÑΓÑ ¿ßß½Ññ«óáΓ∞
Σπ¡¬µ¿ε ß »ÑαÑúαπªÑ¡¡δ¼ ¿¼Ñ¡Ñ¼, óóÑñ¿ΓÑ φΓ« ¿¼∩ ó ß««ΓóÑΓßΓóπεΘѼ
í½«¬Ñ óó«ñá. Turbo Debugger «Γ¬α«ÑΓ í½«¬ ñ¿á½«úá Pick A Symbol
Name ß í½«¬«¼ ß»¿ß¬á óßÑσ Σπ¡¬µ¿⌐, ¿¼ÑεΘ¿σ ñá¡¡«Ñ ¿¼∩, ¿ óδ
ß¼«ªÑΓÑ óδíαáΓ∞ ªÑ½áѼ«Ñ.
Å«ñαáºπ¼ÑóáѼá∩ «í½áßΓ∞ ñÑ⌐ßΓó¿∩ ñ½∩ óδτ¿ß½Ñ¡¿∩ º¡áτÑ¡¿⌐ óδαáªÑ¡¿⌐
è«úñá Turbo Debugger óδτ¿ß½∩ÑΓ º¡áτÑ¡¿Ñ óδαáªÑ¡¿Ñ, «¡ ñ«½ªÑ¡
αÑΦ¿Γ∞, ¬á¬á∩ τáßΓ∞ »α«úαá¼¼δ ∩ó½∩ÑΓß∩ "ΓѬπΘÑ⌐" «í½áßΓ∞ε
ñÑ⌐ßΓó¿∩, Γ« ÑßΓ∞ «í½áßΓ∞ε ñÑ⌐ßΓó¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó, ºá»¿ßá¡¡δσ
íѺ ºá¼Ñ¡δ «í½áßΓ¿ ñÑ⌐ßΓó¿∩. é« ¼¡«ú¿σ ∩ºδ¬áσ φΓ« ∩ó½∩ÑΓß∩
ó᪡δ¼, »«ß¬«½∞¬π ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ, «»¿ßá¡¡δÑ ó¡πΓα¿ »α«µÑñπα ¿
Σπ¡¬µ¿⌐, ¼«úπΓ ß«ó»áñáΓ∞ »« ¡á»¿ßá¡¿ε ß ú½«íá½∞¡δ¼¿
¿ñÑ¡Γ¿Σ¿¬áΓ«αἿ. Å«φΓ«¼π Turbo Debugger ñ«½ªÑ¡ º¡áΓ∞, ¬á¬«⌐
φ¬ºÑ¼»½∩α ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ¿¼ÑÑΓß∩ ó ó¿ñπ.
ä½∩ »α¿¡∩Γ¿∩ αÑΦÑ¡¿∩ «í «í½áßΓ¿ ñÑ⌐ßΓó¿∩ Turbo Debugger
«íδτ¡« ¿ß»«½∞ºπÑΓ ó ¬áτÑßΓóÑ ¬«¡ΓѬßΓá ΓѬπΘÑÑ »«½«ªÑ¡¿Ñ ¬παß«αá.
ìá»α¿¼Ñα, ¼«ª¡« ºáñáΓ∞ «í½áßΓ∞ ñÑ⌐ßΓó¿∩, ó ¬«Γ«α«⌐ íπñÑΓ
óδτ¿ß½∩Γ∞ß∩ óδαáªÑ¡¿Ñ, »«¼ÑßΓ¿ó ¬παß«α ¡á «»αÑñѽѡ¡πε ßΓ᫬π ó
«¬¡Ñ ¼«ñπ½∩.
¥Γ« «º¡áτáÑΓ, τΓ« Ñß½¿ ¬παß«α íδ½ »ÑαѼÑΘÑ¡ ß« ßΓ᫬¿, ¡á
¬«Γ«α«⌐ í佫 «ßΓá¡«ó½Ñ¡« óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ, »α¿ óδτ¿ß½Ñ¡¿¿
óδαáªÑ¡¿∩ ¼«ª¡« »«½πτ¿Γ∞ ¡Ñ«ª¿ñá¡¡δ⌐ αѺπ½∞ΓáΓ. àß½¿ ¡Ñ«íσ«ñ¿¼«
íδΓ∞ πóÑαÑ¡¡δ¼ ó Γ«¼, τΓ« óδαáªÑ¡¿∩ óδτ¿ß½∩εΓß∩ ó ΓѬπΘÑ⌐ «í½áßΓ¿
ñÑ⌐ßΓó¿∩, ¼«ª¡« ó«ß»«½∞º«óáΓ∞ß∩ ¬«¼á¡ñ«⌐ Origin ½«¬á½∞¡«ú« ¼Ñ¡ε
«¬¡á ¼«ñπ½∩, ¬«Γ«αá∩ ó«ºóαáΘáÑΓ ¬παß«α ó ΓѬπΘπε Γ«τ¬π ¿ßσ«ñ¡«ú«
ΓѬßΓá »α«úαá¼¼δ. ¡« Γá¬ªÑ ºáñáΓ∞ «í½áßΓ∞ ñÑ⌐ßΓó¿∩ óδαáªÑ¡¿∩,
»ÑαѼÑΘá∩ ¬παß«α ó »«ñ«¬¡Ñ ¬«ñá «¬¡á »α«µÑßß«αá, πßΓá¡áó½¿óá∩
¬παß«α ¡á «»αÑñѽѡ¡πε »«ñ»α«úαá¼¼π ó «¬¡Ñ ßΓѬá, ¿½¿ ¡á ¿¼∩
»«ñ»α«úαá¼¼δ ó «¬¡Ñ »ÑαѼѡ¡δσ.
Å«ß½Ññ«óáΓѽ∞¡«ßΓ¿ íá⌐Γ«ó
-----------------------------------------------------------------
Åα¿ óδ»«½¡Ñ¡¿¿ ¡Ñ¬«Γ«αδσ ¬«¼á¡ñ ΓαÑíπÑΓß∩ óó«ñ¿Γ∞
»«ß½Ññ«óáΓѽ∞¡«ßΓ¿ íá⌐Γ«ó. è ¡¿¼ «Γ¡«ß∩Γß∩ ¬«¼á¡ñδ Search ¿
Change ½«¬á½∞¡«ú« ¼Ñ¡ε »«ñ«¬¡á ñá¡¡δσ «¬¡á »α«µÑßß«αá, á ΓᬪÑ
¬«¼á¡ñδ Search ¿ Change ½«¬á½∞¡«ú« ¼Ñ¡ε «¬¡á Σá⌐½á, «Γ«íαáªáεΘÑú«
ß«ñÑন¼«Ñ Σá⌐½á ó ΦÑßΓ¡áñµáΓ¿α¿τ¡«¼ Σ«α¼áΓÑ.
é »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ íá⌐Γ«ó ¼«úπΓ ß«τÑΓáΓ∞ß∩ ߬á½∩α¡δÑ
º¡áτÑ¡¿∩ (íѺ »½áóáεΘÑ⌐ Γ«τ¬¿) ¿ ßΓ᫬¿, ºá»¿ßá¡¡δÑ ó Σ«α¼áΓÑ,
ñ«»πßΓ¿¼δ¼ ó ΓѬπΘѼ ∩ºδ¬Ñ, óδíαá¡¡δ¼ ß »«¼«Θ∞ε ¬«¼á¡ñδ
Options/Language. ä½∩ ºá»¿ß¿ ßΓ᫬ ¿ ߬á½∩α¡δσ º¡áτÑ¡¿⌐ ó
óδαáªÑ¡¿∩σ ¿ß»«½∞ºπÑΓß∩ «ñ¿¡á¬«óδ⌐ ß¿¡Γá¬ß¿ß. æ¬á½∩α¡δÑ º¡áτÑ¡¿∩
»αÑ«íαáºπεΓß∩ ó »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ íá⌐Γ«ó, ¡á»α¿¼Ñα º¡áτÑ¡¿Ñ
123456 Γ¿»á longint ∩ºδ¬á Åá߬á½∞ »αÑ«íαáºπÑΓß∩ ó 4-íá⌐Γ«ó«Ñ
ΦÑßΓ¡áñµáΓ¿α¿τ¡«Ñ º¡áτÑ¡¿Ñ 40 E2 01 00.
---------------------------------------------------------
ƒºδ¬ Å«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ÿÑßΓ¡áñµáΓ¿α¿τ¡«Ñ
íá⌐Γ«ó º¡áτÑ¡¿Ñ
---------------------------------------------------------
æ¿ "ab"0x04"c" 61 62 04 63
Åá߬á½∞ 'ab'#4'c' 61 62 04 63
ÇßßѼí½Ñα 1234 "AB" 34 12 41 42
---------------------------------------------------------
éδαáªÑ¡¿∩ ∩ºδ¬á æ¿
-----------------------------------------------------------------
Turbo Debugger »«½¡«ßΓ∞ε »«ññÑনóáÑΓ ß¿¡Γá¬ß¿ß óδαáªÑ¡¿⌐,
»α¿¡∩Γδ⌐ ó ∩ºδ¬Ñ æ¿. éδαáªÑ¡¿Ñ ¼«ªÑΓ ó¬½ετáΓ∞ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ,
º¡á¬¿ «»Ñαᵿ⌐, ßΓ᫬¿, »ÑαѼѡ¡δÑ ¿ ¬«¡ßΓá¡Γδ. éßÑ φΓ¿
¬«¼»«¡Ñ¡Γδ «»¿ßá¡δ ó ß½ÑñπεΘ¿σ αáºñѽáσ.
êñÑ¡Γ¿Σ¿¬áΓ«αδ ∩ºδ¬á æ¿
êñÑ¡Γ¿Σ¿¬áΓ«α - φΓ« ¿¼∩ φ½Ñ¼Ñ¡Γá ñá¡¡δσ ¿½¿ »«ñ»α«úαá¼¼δ,
»α¿¡∩Γ«Ñ ó »α«úαá¼¼Ñ. êñÑ¡Γ¿Σ¿¬áΓ«α ñ«½ªÑ¡ ¡áτ¿¡áΓ∞ß∩ ß íπ¬óδ ¿½¿
ß¿¼ó«½á »«ñτÑનóá¡¿∩ (_). äá½ÑÑ ¼«úπΓ ß½Ññ«óáΓ∞ Γá¬¿Ñ ªÑ
ß¿¼ó«½δ, á Γá¬ªÑ µ¿Σαδ «Γ 0 ñ« 9. Åα¿ óó«ñÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá »Ñαóδ⌐
ß¿¼ó«½ »«ñτÑનóá¡¿∩ ¼«ª¡« «»π߬áΓ∞. àß½¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α óóÑñÑ¡
íѺ »«ñτÑનóá¡¿∩ ¿ «¡ ¡Ñ ¼«ªÑΓ íδΓ∞ ¡á⌐ñÑ¡, ó Ñú« ¡áτὫ
ñ«íáó½∩ÑΓß∩ ß¿¼ó«½ »«ñτÑનóá¡¿∩ ¿ »«¿ß¬ »«óΓ«α∩ÑΓß∩. ū߬«½∞¬π
«íδτ¡« ¬«¼»¿½∩Γ«α ßΓáó¿Γ ß¿¼ó«½ »«ñτÑનóá¡¿∩ ó ¡áτὫ
¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó, φΓ« «ßó«í«ªñáÑΓ »«½∞º«óáΓѽ∩ «Γ ¡Ñ«íσ«ñ¿¼«ßΓ¿
ñ«íáó½∩Γ∞ Ñú« ßἫ¼π.
ÉÑú¿ßΓα«óδÑ »ßÑóñ«»ÑαѼѡ¡δÑ ∩ºδ¬á æ¿
Turbo Debugger «íÑß»Ñτ¿óáÑΓ ñ«ßΓπ» ¬ αÑú¿ßΓαá¼ »α«µÑßß«αá,
¿ß»«½∞ºπ∩ ëà ªÑ ¼ÑΓ«ñ, τΓ« ¿ ¬«¼»¿½∩Γ«α Turbo C, ¬«Γ«αδ⌐
¡áºδóáÑΓß∩ »ßÑóñ«»ÑαѼѡ¡δ¼¿. ÅßÑóñ«»ÑαѼѡ¡á∩ »αÑñßΓáó½∩ÑΓ ß«í«⌐
¿ñÑ¡Γ¿Σ¿¬áΓ«α, ß««ΓóÑΓßΓóπεΘ¿⌐ αÑú¿ßΓαπ »α«µÑßß«αá.
----------------------------------------------------------
ÅßÑóñ«»ÑαѼѡ¡á∩ Æ¿» ÉÑú¿ßΓα
----------------------------------------------------------
_AX unsigned int AX
_AL unsigned char AL
_AH unsigned char AH
_BX unsigned int BX
_BL unsigned char BL
117
_BH unsigned char BH
_CX unsigned int CX
_CL unsigned char CL
_CH unsigned char CH
_DX unsigned int DX
_DL unsigned char DL
_DH unsigned char DH
_CS unsigned int CS
_DS unsigned char DS
_SS unsigned char SS
_ES unsigned char ES
_SP unsigned int SP
_BP unsigned char BP
_DI unsigned char DI
_SI unsigned char SI
_IP unsigned int IP
----------------------------------------------------------
æ½ÑñπεΘ¿Ñ »ßÑóñ«»ÑαѼѡ¡δÑ «íÑß»Ñτ¿óáεΓ ñ«ßΓπ» ¬ αÑú¿ßΓαá¼
»α«µÑßß«αá 80386.
-----------------------------------------------------
ÅßÑóñ«»ÑαѼѡ¡á∩ Æ¿» ÉÑú¿ßΓα
-----------------------------------------------------
_EAX unsigned long EAX
_EBX unsigned long EBX
_ECX unsigned long ECX
_EDX unsigned long EDX
_ESP unsigned long ESP
_EBP unsigned long EBP
_EDI unsigned long EDI
_ESI unsigned long ESI
_FS unsigned int FS
_GS unsigned int GS
-----------------------------------------------------
è«¡ßΓá¡Γδ ¿ Σ«α¼áΓδ τ¿ßѽ ∩ºδ¬á æ¿
è«¡ßΓá¡Γδ ¼«úπΓ íδΓ∞ ½¿í« µÑ½δ¼¿ τ¿ß½á¼¿, ½¿í« τ¿ß½á¼¿ ß
»½áóáεΘÑ⌐ Γ«τ¬«⌐.
ûѽ«τ¿ß½Ñ¡¡á∩ ¬«¡ßΓá¡Γá ºáñáÑΓß∩ ó ñÑß∩Γ¿τ¡«¼ Σ«α¼áΓÑ, Ñß½¿
¡Ñ ¿ß»«½∞ºπÑΓß∩ «ñ¿¡ ¿º ß»«ß«í«ó Ñú« ºá¼Ñ¡δ, »αÑñπß¼«ΓαÑ¡¡δσ ó
æ¿.
--------------------------------------
ö«α¼áΓ æ¿ßΓѼá ßτ¿ß½Ñ¡¿∩
--------------------------------------
µ¿Σαδ äÑß∩Γ¿τ¡á∩
0µ¿Σαδ é«ß∞¼¿α¿τ¡á∩
0Xµ¿Σαδ ÿÑßΓ¡áñµáΓ¿α¿τ¡á∩
0xµ¿Σαδ ÿÑßΓ¡áñµáΓ¿α¿τ¡á∩
--------------------------------------
Äíδτ¡δÑ ¬«¡ßΓá¡Γδ ¿¼ÑεΓ Γ¿» int (16 í¿Γ«ó). àß½¿ ΓαÑíπÑΓß∩
«»αÑñѽ¿Γ∞ ¬«¡ßΓá¡Γπ Γ¿»á long, »«ß½Ñ ÑÑ º¡áτÑ¡¿∩ ¡áñ« »«ßΓáó¿Γ∞
íπ¬óπ l ¿½¿ L, ¡á»α¿¼Ñα 123456L.
è«¡ßΓá¡Γá ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ ß«ñÑαª¿Γ ñÑß∩Γ¿τ¡πε Γ«τ¬π ¿
¼«ªÑΓ ºá»¿ßδóáΓ∞ß∩ ó ñÑß∩Γ¿τ¡«¼ ¿½¿ Ѭ߻«¡Ñ¡µ¿á½∞¡«¼ Σ«α¼áΓÑ,
¡á»α¿¼Ñα,
1.234 4.5e+11
æΓ᫬¿ ß¿¼ó«½«ó ¿ Esc-»«ß½Ññ«óáΓѽ∞¡«ßΓ¿ ∩ºδ¬á æ¿
-----------------------------------------------------------------
æΓα«¬á »αÑñßΓáó½∩ÑΓ ß«í«⌐ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ß¿¼ó«½«ó,
ºá¬½ετÑ¡¡á∩ ó ¬áóδτ¬¿ (""). é ¬áτÑßΓóÑ ß¿¼ó«½á Esc ¼«ª¡«
¿ß»«½∞º«óáΓ∞ »α¿¡∩Γδ⌐ ó æ¿ «íαáΓ¡δ⌐ ß½ÑΦ (\).
------------------------------------------------------
Å«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ç¡áτÑ¡¿Ñ 濼ó«½
------------------------------------------------------
\\ ÄíαáΓ¡δ⌐ ß½ÑΦ
\a 0X07 çóπ¬«ó«⌐ ß¿ú¡á½
\b 0X08 æΓ¿αá¡¿Ñ ó½Ñó«
\f 0X0C ÅÑαÑó«ñ ßΓαá¡¿µδ
\n 0X0A ÅÑαÑó«ñ ßΓ᫬¿
\r 0X0D 髺óαáΓ ¬áαÑΓ¬¿
\t 0X09 â«α¿º«¡Γá½∞¡á∩
Γáíπ½∩µ¿∩
\v 0X0B éÑαΓ¿¬á½∞¡á∩
Γáíπ½∩µ¿∩
\xnn nn ÿÑßΓ¡áñµáΓ¿α¿τ¡«Ñ
íá⌐Γ«ó«Ñ º¡áτÑ¡¿Ñ
\nnn nnn é«ß¼¿α¿τ¡«Ñ
íá⌐Γ«ó«Ñ º¡áτÑ¡¿Ñ
------------------------------------------------------
àß½¿ »«ß½Ñ «íαáΓ¡«ú« ß½ÑΦá »«ßΓáó¿Γ∞ ½εí«⌐ ¿º π¬áºá¡¡δσ óδΦÑ
ß¿¼ó«½«ó, φΓ«Γ ß¿¼ó«½ íπñÑΓ óßΓáó½Ñ¡ ó ßΓ᫬π ó ¡Ñ¿º¼Ñ¡¡«¼ ó¿ñÑ.
Ä»Ñαᵿ¿ ∩ºδ¬á æ¿ ¿ ßΓáαΦ¿¡ßΓó« «»Ñαᵿ⌐
é «Γ½áñτ¿¬Ñ Turbo Debugger ¿ß»«½∞ºπεΓß∩ ΓÑ ªÑ «»Ñαᵿ¿, τΓ«
¿ ó ∩ºδ¬Ñ æ¿, ¿ πßΓá¡«ó½Ñ¡« Γá¬«Ñ ªÑ ßΓáαΦ¿¡ßΓó« «»Ñαᵿ⌐. é
«Γ½áñτ¿¬Ñ »αÑñπß¼«ΓαÑ¡á «ñ¡á ñ«»«½¡¿Γѽ∞¡á∩ «»Ñαᵿ∩, ¬«Γ«αá∩ ¡Ñ
óσ«ñ¿Γ ó ¡áí«α «»Ñαᵿ⌐ ∩ºδ¬á æ¿: «¡á «í«º¡áτáÑΓß∩ ñó«⌐¡δ¼
ñó«ÑΓ«τ¿Ñ¼ (::). ¥Γá «»Ñαᵿ∩ ¿¼ÑÑΓ í«½ÑÑ óδß«¬¿⌐ »α¿«α¿ΓÑΓ, τѼ
óßÑ «»Ñαᵿ¿ ∩ºδ¬á æ¿ ¿ ¿ß»«½∞ºπÑΓß∩ ñ½∩ ß«ºñá¡¿∩ ¬«¡ßΓá¡Γδ
ñá½∞¡Ñú« áñαÑßá ¿º óδαáªÑ¡¿∩, ßΓ«∩ΘÑú« ß½Ñóá ¿ óδαáªÑ¡¿∩,
ßΓ«∩ΘÑú« ß»αáóá. ìá»α¿¼Ñα,
0X1234::0X1000 _ES::_BX
ÅÑαó«ßΓѻѡ¡δÑ «»Ñαᵿ¿
() [] . -> sizeof
¿¼ÑεΓ óδßΦ¿⌐ »α¿«α¿ΓÑΓ ¿ óδ»«½¡∩εΓß∩ ß½Ñóá ¡á»αáó«. ô¡áα¡δÑ «»Ñαᵿ¿
* & - ! ~ ++ --
¿¼ÑεΓ í«½ÑÑ ¡¿º¬¿⌐ »α¿«α¿ΓÑΓ, τѼ »Ñαó«ßΓѻѡ¡δÑ «»Ñαᵿ¿,
¡« í«½ÑÑ óδß«¬¿⌐ »α¿«α¿ΓÑΓ, τѼ í¿¡áα¡δÑ «»Ñαᵿ¿, ¿ óδ»«½¡∩εΓß∩
ß»αáóá ¡á½Ñó«. é »α¿óÑñÑ¡¡«¼ ¡¿ªÑ »ÑαÑτ¡Ñ í¿¡áα¡δÑ «»Ñαᵿ¿
αáß»«½«ªÑ¡δ ó »«α∩ñ¬Ñ π¼Ñ¡∞ΦÑ¡¿∩ »α¿«α¿ΓÑΓá; «»Ñαᵿ¿, ºá»¿ßá¡¡δÑ
ó «ñ¡«⌐ ßΓ᫬Ñ, ¿¼ÑεΓ «ñ¿¡á¬«óδ⌐ »α¿«α¿ΓÑΓ.
óδßΦ¿⌐ * / %
+ -
>> <<
<> <= >=
== !=
&
^
|
&&
¡¿ºΦ¿⌐ ||
àñ¿¡ßΓóÑ¡¡á∩ Γα«¿τ¡á∩ «»Ñαᵿ∩ ?: ¿¼ÑÑΓ í«½ÑÑ ¡¿º¬¿⌐
»α¿«α¿ΓÑΓ, τѼ óßÑ í¿¡áα¡δÑ «»Ñαᵿ¿.
éßÑ «»Ñαᵿ¿ »α¿ßóá¿óá¡¿∩ ¿¼ÑεΓ αáó¡δ⌐ »α¿«α¿ΓÑΓ, í«½ÑÑ
¡¿º¬¿⌐, τѼ Γα«¿τ¡á∩ «»Ñαᵿ∩, ¿ úαπ»»¿απεΓß∩ ß»αáóá ¡á½Ñó«.
= += =+ *= /= \= >>= <<= &= ^= |=
éδ»«½¡Ñ¡¿Ñ Σπ¡¬µ¿⌐ ó ß¿-»α«úαá¼¼Ñ
êº óδαáªÑ¡¿∩ ¡á ∩ºδ¬Ñ æ¿ ¼«ª¡« óδºδóáΓ∞ Σπ¡¬µ¿¿ Γ«τ¡« Γá¬
ªÑ, ¬á¬ φΓ« ñѽáÑΓß∩ ó ¿ßσ«ñ¡«¼ ΓѬßΓÑ »α«úαá¼¼δ. Turbo Debugger
íπñÑΓ óδ»«½¡∩Γ∞ »α«úαá¼¼π ß ºáñá¡¡δ¼¿ áαúπ¼Ñ¡ΓἿ Σπ¡¬µ¿¿. ¥Γ«Γ
ß»«ß«í ¼«ªÑΓ «¬áºáΓ∞ß∩ «τÑ¡∞ πñ«í¡δ¼ ñ½∩ »α«óÑન αáí«Γδ
¡á»¿ßá¡¡«⌐ Σπ¡¬µ¿¿. ¡« óδºδóáΓ∞ ÑÑ ¡Ñ߬«½∞¬« αáº ß αáº¡δ¼¿
áαúπ¼Ñ¡ΓἿ ¿ ¬áªñδ⌐ αẠ»α«óÑα∩Γ∞ ó«ºóαáΘáѼ«Ñ Ñε º¡áτÑ¡¿Ñ.
ä«»πßΓ¿¼, ó »α«úαá¼¼Ñ ¿¼ÑÑΓß∩ ß½ÑñπεΘá∩ Σπ¡¬µ¿∩, ¬«Γ«αá∩
ó«ºó«ñ¿Γ τ¿ß½« x ó ßΓѻѡ∞ y:
long power(int x, int y) {
long temp = 1;
while (y--)
temp *= x;
return(temp);
}
Åα¿óÑñÑ¡¡á∩ ¡¿ªÑ Γáí½¿µá »«¬áºδóáÑΓ αѺπ½∞ΓáΓδ óδ»«½¡Ñ¡¿∩
φΓ«⌐ Σπ¡¬µ¿¿ »α¿ ó맮óÑ ÑÑ ß αáº¡δ¼¿ áαúπ¼Ñ¡ΓἿ.
----------------------------------------------
éδαáªÑ¡¿Ñ ÉѺπ½∞ΓáΓ
----------------------------------------------
power(3,2)*2 18
25 + power(5,8) 390650
power(2) ÄΦ¿í¬á (»α«»πΘÑ¡ áαúπ¼Ñ¡Γ)
----------------------------------------------
éδαáªÑ¡¿∩ ∩ºδ¬á æ¿ ß »«í«τ¡δ¼¿ φΣΣѬΓἿ
Å«í«τ¡δ⌐ φΣΣÑ¬Γ ó«º¡¿¬áÑΓ ó Γ«¼ ß½πτáÑ, Ñß½¿ ó »α«µÑßßÑ
óδτ¿ß½Ñ¡¿∩ óδαáªÑ¡¿∩ ∩ºδ¬á æ¿, ¿º¼Ñ¡∩ÑΓß∩ º¡áτÑ¡¿¿Ñ φ½Ñ¼Ñ¡Γá
ñá¡¡δσ. é ¡Ñ¬«Γ«αδσ ß½πτá∩σ »«í«τ¡δ⌐ φΣΣÑ¬Γ ¼«ªÑΓ íδΓ∞
ªÑ½áΓѽ∞¡δ¼ ¿ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ »αÑñ¡á¼ÑαÑ¡¡«ú« ¿º¼Ñ¡Ñ¡¿∩
º¡áτÑ¡¿∩ ¬á¬«⌐-½¿í« »ÑαѼѡ¡«⌐ »αú«úαá¼¼δ. é ñαπú¿σ ß½πτá∩σ
»«í«τ¡δσ φΣΣÑ¬Γ«ó ΓαÑíπÑΓß∩ ¿ºíÑúáΓ∞, »«φΓ«¼π ó᪡« »«¡¿¼áΓ∞, ó
¬á¬¿σ ß½πτá∩σ «¡¿ ¼«úπΓ ó«º¡¿¬áΓ∞.
Ä»Ñαᵿ¿ »α¿ßóá¿óá¡¿∩ (=, += ¿ Γ.ñ.) ¿º¼Ñ¡∩εΓ º¡áτÑ¡¿Ñ
φ½Ñ¼Ñ¡Γá ñá¡¡δσ, ºá»¿ßá¡¡«ú« ß½Ñóá «Γ º¡á¬á «»Ñαᵿ¿. Ä»Ñαᵿ¿
»α¿αáΘÑ¡¿∩ ¿ «Γα¿µáΓѽ∞¡«ú« »α¿αáΘÑ¡¿∩ (++ --) ¿º¼Ñ¡∩εΓ º¡áτÑ¡¿Ñ
φ½Ñ¼Ñ¡Γá ñá¡¡δσ, ¬«Γ«αδ⌐ ºá»¿ßá¡ ß»αáóá ¿½¿ ß½Ñóá «Γ ¡¿σ, ó
ºáó¿ß¿¼«ßΓ¿ «Γ Γ«ú«, ¿ß»«½∞ºπεΓß∩ ½¿ «¡¿ ó ¬áτÑßΓóÑ »αÑΣ¿¬ß¡«⌐
¿½¿ »«ßΓΣ¿¬ß¡«⌐ «»Ñαᵿ¿.
éßΓαÑτáεΓß∩ ¿ í«½ÑÑ Γαπñ¡«π½«ó¿¼δÑ »«í«τ¡δÑ φΣΣѬΓδ, ¬«Γ«αδÑ
󫺡¿¬áεΓ »α¿ óδ»«½¡Ñ¡¿¿ Σπ¡¬µ¿¿, ∩ó½∩εΘÑ⌐ß∩ τáßΓ∞ε »α«úαá¼¼δ.
ìá»α¿¼Ñα, Ñß½¿ ó óδτ¿ß½¿Γ∞ º¡áτÑ¡¿Ñ óδαáªÑ¡¿∩
myfunc(1,2,3) + 7
Γ« »«ºªÑ »α«úαá¼¼á ¼«ªÑΓ ¡áτáΓ∞ αáí«ΓáΓ∞ ¡Ñ»αáó¿½∞¡« ¿º-ºá
Γ«ú«, τΓ« Σπ¡¬µ¿∩ myfunc ¿º¼Ñ¡¿½á º¡áτÑ¡¿∩ ñαπú¿σ »ÑαѼѡ¡δσ
»α«úαá¼¼δ.
çáαѺÑαó¿α«óá¡¡δÑ ß½«óá ∩ºδ¬á æ¿ ¿ »αÑ«íαẫóá¡¿Ñ Γ¿»«ó
ÄΓ½áñτ¿¬ Turbo Debugger »«ºó«½∩ÑΓ ∩ó¡« π¬áºδóáΓ∞ Γ¿»
π¬áºáΓѽ∩ Γ«τ¡« ΓᬠªÑ, ¬á¬ φΓ« ñѽáÑΓß∩ ó ß¿-»α«úαá¼¼Ñ.
ÅαÑ«íαẫóá¡¿Ñ Γ¿»á ß«ñÑαª¿Γ «»¿ßá¡¿Ñ Γ¿»á ñá¡¡δσ ∩ºδ¬á æ¿,
ºá¬½ετÑ¡¡«Ñ ó ¬απú½δÑ ß¬«í¬¿. Ä¡« ñ«½ª¡« íδΓ∞ ºá»¿ßá¡« ñ«
óδαáªÑ¡¿∩, ó ¬«Γ«α«¼ óδτ¿ß½∩ÑΓß∩ π¬áºáΓѽ∞ ¡á «í½áßΓ∞ »á¼∩Γ¿.
ÅαÑ«íαẫóá¡¿Ñ Γ¿»á πñ«í¡« ¿ß»«½∞º«óáΓ∞ ñ½∩ »α«óÑન
ß«ñÑন¼«ú« ∩τÑ⌐¬¿ »á¼∩Γ¿, «íαáΘÑ¡¿Ñ ¬ ¬«Γ«α«⌐ »α«¿ºó«ñ¿Γß∩ ß
»«¼«Θ∞ε ñá½∞¡Ñú« áñαÑßá, ßΣ«α¼¿α«óá¡¡«ú« ß »«¼«Θ∞ε «»Ñαᵿ¿ ::,
¡á»α¿¼Ñα,
(long far *)0x3456::0
(char far *)_ES::_BX
ÅαÑ«íαẫóá¡¿Ñ Γ¿»á ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ñ½∩ «íαáΘÑ¡¿∩ ¬
»ÑαѼѡ¡«⌐, « Γ¿»Ñ ¬«Γ«α«⌐ ¡ÑΓ ¡¿¬á¬«⌐ ¿¡Σ«α¼áµ¿¿. Æá¬á∩ ß¿Γπᵿ∩
¼«ªÑΓ ó«º¡¿¬¡πΓ∞, Ñß½¿ ¼«ñπ½∞ íδ½ ß¬«¼»¿½¿α«óá¡ íѺ Σ«α¼¿α«óá¡¿∩
¿¡Σ«α¼áµ¿¿ ñ½∩ «Γ½áñ¬¿. àß½¿ Γ¿» »ÑαѼѡ¡«⌐ ¿ºóÑßΓÑ¡
»α«úαá¼¼¿ßΓπ, «¡ ¼«ªÑΓ »α«ßΓ« π¬áºáΓ∞ Ñú« ó ∩ó¡«¼ ó¿ñÑ »ÑαÑñ
¿¼Ñ¡Ñ¼ »ÑαѼѡ¡«⌐, ó¼ÑßΓ« Γ«ú«, τΓ«íδ »ÑαѬ«¼»¿½¿α«óáΓ∞ ¿
»ÑαѬ«¼»«¡«óδóáΓ∞ »α«úαá¼¼π.
ìá»α¿¼Ñα, Ñß½¿ »ÑαѼѡ¡á∩ iptr ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á
µÑ½«τ¿ß½Ñ¡¡«Ñ º¡áτÑ¡¿Ñ, Γ« ¼«ª¡« »α«óÑα¿Γ∞ º¡áτÑ¡¿Ñ, ¡á ¬«Γ«α«Ñ
«¡ π¬áºδóáÑΓ, óδτ¿ß½¿ó º¡áτÑ¡¿Ñ óδαáªÑ¡¿∩:
*(int *)iptr
ä½∩ φΓ«ú« Γá¬ªÑ ß½πª¿Γ ¬«¼á¡ñá Type Cast ½«¬á½∞¡«ú« ¼Ñ¡ε
«¬¡á Inspector.
ä½∩ »αÑ«íαẫóá¡¿∩ Γ¿»á ó «Γ½áñτ¿¬Ñ Turbo Debugger ¼«ª¡«
¿ß»«½∞º«óáΓ∞ ß½ÑñπεΘ¿Ñ ºáαѺÑαó¿α«óá¡¡δÑ ß½«óá ∩ºδ¬á æ¿:
char float near
double huge short
enum int struct
far long union
unsigned
éδαáªÑ¡¿∩ ∩ºδ¬á Åá߬á½∞
-----------------------------------------------------------------
Turbo Debugger »«ññÑনóáÑΓ ß¿¡Γá¬ß¿ß óδαáªÑ¡¿⌐ ∩ºδ¬á
Åá߬á½∞ ºá ¿ß¬½ετÑ¡¿Ñ¼ «»Ñαᵿ¿ ¬«¡¬áΓѡᵿ¿ ßΓ᫬ ¿ «»Ñαᵿ⌐ ¡áñ
¼¡«ªÑßΓóἿ. éδαáªÑ¡¿Ñ ß«ßΓ«¿Γ ¿º º¡á¬«ó «»Ñαᵿ⌐, ßΓ᫬,
»ÑαѼѡ¡δσ ¿ ¬«¡ßΓá¡Γ. éßÑ ¬«¼»«¡Ñ¡Γδ óδαáªÑ¡¿⌐ «»¿ßá¡δ ó
ß½ÑñπεΘ¿σ αáºñѽáσ.
êñÑ¡Γ¿Σ¿¬áΓ«αδ ∩ºδ¬á Åá߬á½∞
êñÑ¡Γ¿Σ¿¬áΓ«αἿ ó ∩ºδ¬Ñ Åá߬á½∞ ∩ó½∩εΓß∩ «»αÑñѽ∩ѼδÑ
»«½∞º«óáΓѽѼ ¿¼Ñ¡á φ½Ñ¼Ñ¡Γ«ó ñá¡¡δσ ¿ »«ñ»α«úαá¼¼, ¿ß»«½∞ºπѼδÑ
ó »α«úαá¼¼Ñ. êñÑ¡Γ¿Σ¿¬áΓ«α ó ∩ºδ¬Ñ Åá߬á½∞ ¼«ªÑΓ ¡áτ¿¡áΓ∞ß∩ ß
íπ¬óδ (a-z, A-Z) ¿½¿ ß¿¼ó«½á »«ñτÑનóá¡¿∩ (_). äá½ÑÑ ¼«úπΓ
ß½Ññ«óáΓ∞ µ¿Σαδ (0-9), ß¿¼ó«½δ »«ñτÑનóá¡¿∩ ¿ íπ¬óδ.
Äíδτ¡« ¿ñÑ¡Γ¿Σ¿¬áΓ«α »«ñτ¿¡∩ÑΓß∩ »αáó¿½á¼ «í½áßΓ¿ ñÑ⌐ßΓó¿∩,
¬«Γ«αδÑ ú½áß∩Γ, τΓ« "󽫪ѡ¡δÑ" ½«¬á½∞¡δÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ ºá¼Ñ¡∩εΓ
ñαπú¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ ß ΓѼ¿ ªÑ ¿¼Ñ¡á¼¿. ¥Γ« »αá󿽫 ¼«ª¡«
«í«⌐Γ¿, Ñß½¿ ΓαÑíπÑΓß∩ «íαáΓ¿Γ∞ß∩ ¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá¼, ¡áσ«ñ∩Θ¿¼ß∩
ó ñαπú¿σ «í½áßΓ∩σ ñÑ⌐ßΓó¿∩. ä½∩ »«½πτÑ¡¿∩ í«½ÑÑ »«ñα«í¡«⌐
¿¡Σ«α¼áµ¿¿ «íαáΓ¿ΓÑß∞ ¬ αáºñѽπ "ä«ßΓπ» ¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá¼ ó¡Ñ
ΓѬπΘÑ⌐ «í½áßΓ¿ ñÑ⌐ßΓó¿∩" ñá¡¡«⌐ ú½áóδ.
è«¡ßΓá¡Γδ ¿ Σ«α¼áΓδ τ¿ßѽ ∩ºδ¬á Åá߬á½∞
è«¡ßΓá¡Γδ ¼«úπΓ íδΓ∞ ½¿í« µÑ½δ¼¿, ½¿í« óÑΘÑßΓóÑ¡¡δ¼¿ (ß
»½áóáεΘÑ⌐ Γ«τ¬«⌐). ÄΓα¿µáΓѽ∞¡δÑ ¬«¡ßΓá¡Γδ ¡áτ¿¡áεΓß∩ ß« º¡á¬á
"¼¿¡πß" (-). àß½¿ ó τ¿ß½Ñ ¿¼ÑÑΓß∩ ñÑß∩Γ¿τ¡á∩ Γ«τ¬á ¿½¿ ß¿¼ó«½ e,
«º¡áτáεΘ¿⌐ φ¬ß»«¡Ñ¡Γπ, Γ« φΓ« τ¿ß½« ∩ó½∩ÑΓß∩ óÑΘÑßΓóÑ¡¡δ¼,
¡á»α¿¼Ñα,
123.4 456e34 123.45e-5
ûѽ«τ¿ß½Ñ¡¡δÑ ¬«¡ßΓá¡Γδ «íδτ¡« ºá»¿ßδóáεΓß∩ ó ñÑß∩Γ¿τ¡«¼
Σ«α¼áΓÑ, ¡« ¼«úπΓ ºá»¿ßδóáΓ∞ß∩ ¿ ó ΦÑßΓ¡áñµáΓ¿α¿τ¡«¼ Σ«α¼áΓÑ. é
φΓ«¼ ß½πτáÑ »ÑαÑñ ¬«¡ßΓá¡Γ«⌐ ßΓáó¿Γß∩ º¡á¬ ñ«½½áαá ($).
äÑß∩Γ¿τ¡δÑ µÑ½«τ¿ß½Ñ¡¡δÑ ¬«¡ßΓá¡Γδ ñ«½ª¡δ ½ÑªáΓ∞ ó ñ¿á»áº«¡Ñ «Γ -
2137483648 ñ« 2137483647. ÿÑßΓ¡áñµáΓ¿α¿τ¡δÑ ¬«¡ßΓá¡Γδ ñ«½ª¡δ
½ÑªáΓ∞ ó ñ¿á»áº«¡Ñ «Γ $00000000 ñ« $FFFFFFFF.
æΓ᫬¿ ∩ºδ¬á Åá߬á½∞
æΓ᫬á ó ∩ºδ¬Ñ Åá߬á½∞ «»αÑñѽ∩ÑΓß∩ ¬á¬ úαπ»»á ß¿¼ó«½«ó,
ºá¬½ετÑ¡¡á∩ ó «ñ¿¡«τ¡δÑ ¬áóδτ¬¿, ¡á»α¿¼Ñα,
'abc'
é ßΓα«¬π ¼«ª¡« ó¬½ετáΓ∞ π»αáó½∩εΘ¿Ñ ß¿¼ó«½δ. é φΓ«¼ ß½πτáÑ
»ÑαÑñ ñÑß∩Γ¿τ¡δ¼ º¡áτÑ¡¿Ñ¼ π»αáó½∩εΘÑú« ß¿¼ó«½á ßΓáó¿Γß∩ º¡á¬ #,
¡á»α¿¼Ñα,
'def'#7'xyz'
Ä»Ñαᵿ¿ ∩ºδ¬á Åá߬á½∞
Turbo Debugger »«ññÑনóáÑΓ óßÑ «»Ñαᵿ¿, ñ«»πßΓ¿¼δÑ ó
óδαáªÑ¡¿∩σ »á߬á½∞-»α«úαá¼¼δ.
ô¡áα¡δÑ «»Ñαᵿ¿ ¿¼ÑεΓ óδßΦ¿⌐ »α¿«α¿ΓÑΓ »« «Γ¡«ΦÑ¡¿ε ¬
ñαπú¿¼ «»Ñαᵿ∩¼ ¿ αáó¡δ⌐ »α¿«α¿ΓÑΓ ¼Ñªñπ ß«í«⌐.
@ Å«½πτÑ¡¿Ñ áñαÑßá »ÑαѼѡ¡«⌐
^ ç¡áτÑ¡¿Ñ π¬áºáΓѽ∩
not Å«í¿Γ«ó«Ñ ñ«»«½¡Ñ¡¿Ñ
Γ¿» ÅαÑ«íαẫóá¡¿Ñ Γ¿»á
+ ô¡áα¡δ⌐ »½εß, »«½«ª¿Γѽ∞¡«Ñ τ¿ß½«
- ô¡áα¡δ⌐ ¼¿¡πß, «Γα¿µáΓѽ∞¡«Ñ τ¿ß½«
ü¿¡áα¡δÑ «»Ñαᵿ¿ ¿¼ÑεΓ í«½ÑÑ ¡¿º¬¿⌐ »α¿«α¿ΓÑΓ ¿ αáß»«½«ªÑ¡δ
ó »«α∩ñ¬Ñ »«¡¿ªÑ¡¿∩ »α¿«α¿ΓÑΓá.
* / div mod and shl shr
in + - or xor
< <= > <= = <>
Ä»Ñαᵿ∩ »α¿ßóá¿óá¡¿∩ (:=) ¿¼ÑÑΓ ¡¿ºΦ¿⌐ »α¿«α¿ΓÑΓ ¿
ó«ºóαáΘáÑΓ ¡Ñ¬«Γ«α«Ñ º¡áτÑ¡¿Ñ, ΓᬠªÑ ¬á¬ ¿ ó æ¿.
é맮ó »α«µÑñπα ¿ Σπ¡¬µ¿⌐ »á߬á½∞-»α«úαá¼¼δ
ÄíαáΘÑ¡¿∩ ¬ Σπ¡¬µ¿∩¼ ¼«úπΓ »α«¿ºó«ñ¿Γ∞ß∩ ¿º óδαáªÑ¡¿⌐.
ìá»α¿¼Ñα, ñ«»πßΓ¿¼, τΓ« ó »á߬á½∞-»α«úαá¼¼Ñ «»¿ßá¡á Σπ¡¬µ¿∩
HalfFunc, ¬«Γ«αá∩ óδ»«½¡∩ÑΓ ñѽѡ¿Ñ µÑ½«ú« τ¿ß½á ¡á 2:
function HalfFunc(i: integer): real;
êß»«½∞ºπ∩ ¬«¼á¡ñπ Data/Evaluate/Modify, ¼«ª¡« óδºδóáΓ∞
Σπ¡¬µ¿ε HalfFunc ß½ÑñπεΘ¿¼ «íαẫ¼:
HalfFunc(3)
HalfFunc(10)=HalfFunc(10 div 2)
¡« Γá¬ªÑ óδºδóáΓ∞ »α«µÑñπαδ, σ«Γ∩, ¬«¡Ñτ¡«, ¡Ñ ¿º
óδαáªÑ¡¿⌐. àß½¿ óóÑßΓ¿ «ñ¡« ¿¼∩ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿, Turbo
Debugger π¬áªÑΓ ÑÑ áñαÑß ¿ «»¿ßá¡¿Ñ. ä½∩ Γ«ú« τΓ«íδ óδºóáΓ∞
»α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε, ñ½∩ ¬«Γ«α«⌐ ¡Ñ ΓαÑíπÑΓß∩ »áαá¼ÑΓα«ó, ¡áñ«
»«ßΓáó¿Γ∞ »«ß½Ñ ÑÑ ¿¼Ñ¡¿ »πßΓδÑ ¬απú½δÑ ß¬«í¬¿, ¡á»α¿¼Ñα,
MyProc() éδºδóáÑΓ »α«µÑñπαπ MyProc
MyProc ô¬áºδóáÑΓ áñαÑß »α«µÑñπαδ MyProc ¿ Γ.ñ.
MyFunc=5 æαáó¡¿óáÑΓ áñαÑß Σπ¡¬µ¿¿ MyFunc ß τ¿ß½«¼ 5
MyFunc()=5 éδºδóáÑΓ Σπ¡¬µ¿ε MyFunc ¿ ßαáó¡¿óáÑΓ
ó«ºóαáΘÑ¡¡«Ñ Ñε º¡áτÑ¡¿Ñ ß τ¿ß½«¼ 5.
éδαáªÑ¡¿∩ ∩ºδ¬á áßßѼí½Ñαá
-----------------------------------------------------------------
Turbo Debugger »«½¡«ßΓ∞ε »«ññÑনóáÑΓ ß¿¡Γá¬ß¿ß óδαáªÑ¡¿⌐
∩ºδ¬á áßßѼí½Ñαá. éδαáªÑ¡¿Ñ ß«ßΓ«¿Γ ¿º «»Ñαᵿ⌐, ßΓ᫬,
»ÑαѼѡ¡δσ ¿ ¬«¡ßΓá¡Γ. é ß½ÑñπεΘ¿σ αáºñѽáσ «»¿ßá¡δ óßÑ φΓ¿
¬«¼»«¡Ñ¡Γδ.
êñÑ¡Γ¿Σ¿¬áΓ«αδ ∩ºδ¬á áßßѼí½Ñαá
êñÑ¡Γ¿Σ¿¬áΓ«αἿ ∩ó½∩εΓß∩ «»αÑñѽ∩ѼδÑ »«½∞º«óáΓѽѼ ¿¼Ñ¡á
φ½Ñ¼Ñ¡Γ«ó ñá¡¡δσ ¿ »«ñ»α«úαá¼¼, ¿ß»«½∞ºπѼδÑ ó »α«úαá¼¼Ñ.
êñÑ¡Γ¿Σ¿¬áΓ«α ó ∩ºδ¬Ñ áßßѼí½Ñαá ¡áτ¿¡áÑΓß∩ ß íπ¬óδ (a-z, A-Z)
¿½¿ «ñ¡«ú« ¿º ß½ÑñπεΘ¿σ ß¿¼ó«½«ó: @ ? _ $. äá½ÑÑ ¼«úπΓ ßΓ«∩Γ∞
µ¿Σαδ «Γ 0 ñ« 9 ¿ Γá¬¿Ñ ªÑ ß¿¼ó«½δ. Æ«τ¬á (.) Γá¬ªÑ ¼«ªÑΓ
¿ß»«½∞º«óáΓ∞ß∩ ó ¬áτÑßΓóÑ »Ñαó«ú« ß¿¼ó«½á ¿ñÑ¡Γ¿Σ¿¬áΓ«αá, ¡« ¡Ñ
¼«ªÑΓ ¡áσ«ñ¿Γ∞ß∩ ó¡πΓα¿ ¡Ñú«.
æ»Ñµ¿á½∞¡δ⌐ ß¿¼ó«½ $ «º¡áτáÑΓ ΓѬπΘπε Γ«τ¬π »α«úαá¼¼δ, ¡á
¬«Γ«απε π¬áºδóáÑΓ αÑú¿ßΓα«óá∩ »áαá CS:IP.
è«¡ßΓá¡Γδ ∩ºδ¬á áßßѼí½Ñαá
è«¡ßΓá¡Γδ ¼«úπΓ íδΓ∞ µÑ½δ¼¿ ¿½¿ óÑΘÑßΓóÑ¡¡δ¼¿ (ß »½áóáεΘÑ⌐
Γ«τ¬«⌐). éÑΘÑßΓóÑ¡¡δÑ ¬«¡ßΓá¡Γδ ß«ñÑαªáΓ ñÑß∩Γ¿τ¡πε Γ«τ¬π ¿ ¼«úπΓ
ºá»¿ßδóáΓ∞ß∩ ó ñÑß∩Γ¿τ¡«¼ ¿½¿ φ¬ß»«¡Ñ¡µ¿á½∞¡«¼ Σ«α¼áΓÑ, ¡á»α¿¼Ñα,
1.234 4.5e+11
ûѽ«τ¿ß½Ñ¡¡δÑ ¬«¡ßΓá¡Γδ ºá»¿ßδóáεΓß∩ ó ΦÑßΓ¡áñµáΓ¿α¿τ¡«¼
Σ«α¼áΓÑ ¿½¿ ¬ ¡¿¼ »α¿¼Ñ¡∩ÑΓß∩ «ñ¿¡ ¿º ß»«ß«í«ó ¿º¼Ñ¡Ñ¡¿∩ ß¿ßΓѼδ
ßτ¿ß½Ñ¡¿∩ ∩ºδ¬á áßßѼí½Ñαá.
--------------------------------------
ö«α¼áΓ æ¿ßΓѼá ßτ¿ß½Ñ¡¿∩
--------------------------------------
µ¿Σαδ ÿÑßΓ¡áñµáΓ¿α¿τ¡á∩
µ¿ΣαδO é«ß∞¼¿α¿τ¡á∩
µ¿ΣαδQ é«ß∞¼¿α¿τ¡á∩
µ¿ΣαδD äÑß∩Γ¿τ¡á∩
µ¿ΣαδB äó«¿τ¡á∩
--------------------------------------
ÿÑßΓ¡áñµáΓ¿α¿τ¡«Ñ τ¿ß½« óßÑúñá ñ«½ª¡« ¡áτ¿¡áΓ∞ß∩ ß µ¿Σαδ «Γ
0 ñ« 9. àß½¿ ΓαÑíπÑΓß∩ óóÑßΓ¿ τ¿ß½«, ¡áτ¿¡áεΘÑÑß∩ ß íπ¬óδ (A-F),
¡áñ« »«ßΓáó¿Γ∞ »ÑαÑñ ¡¿¼ µ¿Σαπ 0.
Ä»Ñαᵿ¿ ∩ºδ¬á áßßѼí½Ñαá
Turbo Debugger »«ññÑনóáÑΓ í«½∞Φ¿¡ßΓó« «»Ñαᵿ⌐ ∩ºδ¬á
áßßѼí½Ñαá, ¬«Γ«αδÑ αáß»«½«ªÑ¡δ ¡¿ªÑ ó »«α∩ñ¬Ñ πíδóá¡¿∩
»α¿«α¿ΓÑΓá.
xxxPTR(BYTE PTR...)
. (óδí«α φ½Ñ¼Ñ¡Γá ßΓαπ¬Γπαδ)
: (߼ѡá ßÑú¼Ñ¡Γá)
OR XOR
AND
NOT
EQ NE LT LE GT GE
+ -
* / MOD SHR SHL
ô¡áα¡δ⌐ +, π¡áα¡δ⌐ -
OFFSET SEG
() []
ç¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐ ¼«ªÑΓ íδΓ∞ ¿º¼Ñ¡Ñ¡« ß »«¼«Θ∞ε «»Ñαᵿ¿
»α¿ßóá¿óá¡¿∩, ¡á»α¿¼Ñα,
a = [BYTE PTR DS:4]
ô»αáó½Ñ¡¿Ñ Σ«α¼áΓ«¼
-----------------------------------------------------------------
è«úñá óδ ºáñáÑΓÑ «Γ½áñτ¿¬π óδαáªÑ¡¿Ñ, ¬«Γ«α«Ñ ΓαÑíπÑΓß∩
«Γ«íαếΓ∞, «¡ «Γ«íαáªáÑΓ Ñú« ó Σ«α¼áΓÑ, ß««ΓóÑΓßΓóπεΘѼ Γ¿»π
¿ß»«½∞ºπѼδσ ó ¡Ñ¼ ñá¡¡δσ. Turbo Debugger ¿ú¡«α¿απÑΓ π»αáó½∩εΘ¿Ñ
Σ«α¼áΓδ, ∩ó½∩εΘ¿Ñß∩ ¡Ññ«»πßΓ¿¼δ¼¿ ñ½∩ ¬«¡¬αÑΓ¡«ú« Γ¿»á ñá¡¡δσ.
àß½¿ ΓαÑíπÑΓß∩ ¿º¼Ñ¡¿Γ∞ Σ«α¼áΓ «Γ«íαáªÑ¡¿∩, óδí¿αáѼδ⌐ »«
π¼«½τá¡¿ε ñ½∩ ñá¡¡«ú« óδαáªÑ¡¿∩, ¼«ª¡« »«ßΓáó¿Γ∞ »«ß½Ñ ¡Ñú«
ºá»∩Γπε ¿ óóÑßΓ¿ º¡áτÑ¡¿Ñ, ºáñáεΘÑÑ ¬«½¿τÑßΓó« »«óΓ«αÑ¡¿⌐ ¿
íπ¬óπ, ºáñáεΘπε Σ«α¼áΓ «Γ«íαáªÑ¡¿∩. ù¿ß½« »«óΓ«αÑ¡¿⌐ ¼«ª¡«
ºáñáóáΓ∞ Γ«½∞¬« ñ½∩ π¬áºáΓѽÑ⌐ ¿ ¼áßß¿ó«ó. çá¼ÑΓ¿¼, τΓ« Ñß½¿
π¬áºáΓѽ∞ Σ«α¼áΓá »α¿¼Ñ¡∩ÑΓß∩ ¬ ¡ÑóÑα¡«¼π Γ¿»π ñá¡¡δσ, «¡ ¡Ñ
ó«ß»α¿¡¿¼áÑΓß∩ «Γ½áñτ¿¬«¼.
---------------------------------------------------------------
æ¿¼ó«½ ö«α¼áΓ
---------------------------------------------------------------
c ÄΓ«íαáªáÑΓ ß¿¼ó«½∞¡«Ñ ¿½¿ ßΓ᫬«ó«Ñ óδαáªÑ¡¿Ñ ó
ó¿ñÑ ¡Ñ«íαáí«Γá¡¡δσ ß¿¼ó«½«ó. Äíδτ¡« ¡Ñ»ÑτáΓáѼδÑ
ß¿¼ó«½∞¡δÑ º¡áτÑ¡¿∩ «Γ«íαáªáεΓß∩ ó ó¿ñÑ Esc-
»«ß½Ññ«óáΓѽ∞¡«ßΓÑ⌐ ¿½¿ ñÑß∩Γ¿τ¡δσ τ¿ßѽ. ¥Γ«Γ
π¬áºáΓѽ∞ Σ«α¼áΓá ºáßΓáó½∩ÑΓ «Γ½áñτ¿¬ «Γ«íαáªáΓ∞
ß¿¼ó«½δ, ¿ß»«½∞ºπ∩ »«½¡δ⌐ ¡áí«α ß¿¼ó«½«ó Σ¿α¼δ IBM.
d ÄΓ«íαáªáÑΓ µÑ½«τ¿ß½Ñ¡¡δÑ º¡áτÑ¡¿∩ ó ñÑß∩Γ¿τ¡«¼
Σ«α¼áΓÑ.
f[#] ÄΓ«íαáªáÑΓ τ¿ß½« ó Σ«α¼áΓÑ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ ß
π¬áºá¡¡δ¼ ¬«½¿τÑßΓó«¼ µ¿Σα. àß½¿ ¬«½¿τÑßΓó« µ¿Σα ¡Ñ
π¬áºá¡«, ¿ß»«½∞ºπÑΓß∩ ßΓ«½∞¬« µ¿Σα, ߬«½∞¬«
¡Ñ«íσ«ñ¿¼«.
m ÄΓ«íαáªáÑΓ óδαáªÑ¡¿Ñ, «íαáΘáεΘÑÑß∩ ¬ »á¼∩Γ¿, ó ó¿ñÑ
ΦÑßΓ¡áñµáΓ¿α¿τ¡δσ íá⌐Γ«ó.
md ÄΓ«íαáªáÑΓ óδαáªÑ¡¿Ñ, «íαáΘáεΘÑÑß∩ ¬ »á¼∩Γ¿, ó ó¿ñÑ
ñÑß∩Γ¿τ¡δσ íá⌐Γ«ó.
p ÄΓ«íαáªáÑΓ ¡Ñ«íαáí«Γá¡¡«Ñ ßß佫τ¡«Ñ º¡áτÑ¡¿Ñ,
π¬áºδóá∩ (Ñß½¿ 󫺼«ª¡«) ó ¬áτÑßΓóÑ ßÑú¼Ñ¡Γá
¡áºóá¡¿Ñ αÑú¿ßΓαá. Å«¬áºδóáÑΓ Γá¬ªÑ «íΩѬΓ, ¡á
¬«Γ«αδ⌐ «¡« π¬áºδóáÑΓ. àß½¿ ¡Ñ ºáñá¡ π¬áºáΓѽ∞
Σ«α¼áΓá, φëà ӫα¼áΓ ¿ß»«½∞ºπÑΓß∩ »« π¼«½τá¡¿ε.
s ÄΓ«íαáªáÑΓ ¼áßß¿ó ¿½¿ π¬áºáΓѽ∞ ¡á ¼áßß¿ó ó ó¿ñÑ
ºá¬½ετÑ¡¡«⌐ ó ¬áóδτ¬¿ ßΓ᫬¿ ß¿¼ó«½«ó. æΓ«¬á
ºá¬á¡τ¿óáÑΓß∩ ¡π½Ñ¼.
x ¿½¿ h ÄΓ«íαáªáÑΓ µÑ½«Ñ τ¿ß½« ó ΦÑßΓ¡áñµáΓ¿α¿τ¡«¼ Σ«α¼áΓÑ.
---------------------------------------------------------------